/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.comut.crud.ejb.interfaces;

import com.comut.crud.pojo.mobile.POIInfo;
import com.comut.crud.pojo.poi.Poi;
import com.comut.lib.exception.ObjectFoundException;
import com.comut.lib.exception.ObjectNotFoundException;
import javax.jws.WebMethod;

/**
 *
 * @author asantos
 */
public interface IPoiAction {
      /**
     * Inserts Poi on the database
     *
     * @param poi the {@link Poi} to be inserted
     * @return the inserted {@link Poi}
     */
    @WebMethod
    public Poi insertPoi(Poi poi) throws ObjectFoundException;

    /**
     * Deletes a Poi from the database
     *
     * @param poi the {@link Poi} to be deleted
     */
    @WebMethod
    public void deletePoi(Poi poi) throws ObjectNotFoundException;

    /**
     * Update a event on the database
     *
     * @param poi the update {@link poi}     * 
     */
    @WebMethod
    public void updatePoi(String poi) throws ObjectNotFoundException;

    /**
     * Gets a Poi from the database
     *
     * @param poi the {@link Poi} to be found
     * @return the {@link Poi} found
     */
    @WebMethod
    public Poi getPoi(Poi poi) throws ObjectNotFoundException;

    /**
     * Issue: IFL-1568
     * 
     * @param userId
     * @return 
     */
    @WebMethod
    POIInfo[] getPOIsForUserId(int userId);
    
}
